package picol.view.utility;

import java.io.File;
import javax.swing.filechooser.FileFilter;

/**
 * Classe SimpleFileFilter
 * @author Julien Sanderson - Aurelien Marcel
 */
public class SimpleFileFilter extends FileFilter {

    private String description;
    private String extension;

    /**
     * Constructeur de la classe SimpleFileFilter
     * @param description pour l'interface graphique
     * @param extension de fichier sur lequel on va faire le filtre
     */
    public SimpleFileFilter(String description, String extension) {
        if (description == null || extension == null) {
            throw new NullPointerException("La description (ou extension) ne peut être null.");
        }
        this.description = description;
        this.extension = extension;
    }

    /**
     * Methode pour l'implementation de FileFilter
     * @param file fichier que l'on va tester
     * @return vrai si l'extention est correct
     */
    public boolean accept(File file) {
        if (file.isDirectory()) {
            return true;
        }
        String nomFichier = file.getName().toLowerCase();

        return nomFichier.endsWith(extension);
    }

    /**
     * Methode pour recuperer la description
     * @return la description
     */
    public String getDescription() {
        return description;
    }
}
